package ru.niir.goodfil.exceptions;

import ru.niir.goodfil.utils.validation.RemoveCheckResult;

/**
 * Исключение возникает при невозможности удалить объект
 */
public class RemoveFailureException extends GoodfilException
{
    /**
     * Результат проверки на возможность удаления
     */
    private final RemoveCheckResult removeCheckResult;

    /**
     * Конструктор
     * @param removeCheckResult результат проверки на возможность удаления
     */
    public RemoveFailureException(RemoveCheckResult removeCheckResult)
    {
        super("Удаление объекта " + removeCheckResult.getClassName() + " невозможно, т.к. с ним связаны объекты " + removeCheckResult.getLinkedObjectsAsString());
        this.removeCheckResult = removeCheckResult;
    }

    /**
     * Возвращает результат проверки на возможность удаления
     * @return результат проверки на возможность удаления
     */
    public RemoveCheckResult getRemoveCheckResult()
    {
        return removeCheckResult;
    }
}
